In facilitating electronic data interchange (EDI) among a plurality of third party systems, many complex challenges exist. For example, when a single server cannot handle the I/O and processing operations associated with peak volume loading without a significant backlog, a cluster of server instances is typically employed, often working in parallel on processing and/or transferring to a gateway server different segments of the same individual file, which is then downloaded from the gateway server to a recipient system. However, in such cases, the failure of one processing server instance handling only a segment of a file can result in the entire transfer failing. Also, deploying a cluster of server instances can result in the resources of some instances remaining idle while others are overloaded, and/or slow periods in which fewer than all instances could handle the load without any loss in transfer speed or efficiency, such that the cost of maintaining superfluous instances is wasted.
Despite an EDI system having a cluster of n servers, there may be a huge surge in the business document traffic of customers provisioned on, for example, to an ith instance of the n servers. Imagine there are a total of k documents that need processing. If the average document processing time on a server instance is tavg (seconds), then it will take k*tavg (seconds) to clear the backlog, corresponding to a backlog clearing speed/frequency of 1/(k*tavg) (Hz). The presence of the n−1 extra instances, which do not take part in the processing of the backlogged k documents, would not improve the response time.
Existing EDI schemes have had limited success in exploiting services/resources that have now become available in cloud operating environments. For example, while exploiting a finer level of binary large object (BLOB) access can improve space-time parallelism, implementing this approach can require substantially modifying or rewriting a large amount of pre-cloud system code, with the potential for uncertainty in system behavior.
A need therefore exists for a system and method of facilitating EDI through a network of servers that minimizes latency, maximizes performance (e.g., speed and efficiency of file transfers), and minimizes the adverse impacts of one of its servers failing, throughout periods and events of higher and lower demand.